package com.example.project.quartz.task;

import com.example.project.service.InputExtBusinessService;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Date;

/**
 * Created by dell on 2017/5/29.
 */
@Service
public class MyTask extends BaseTask{

    @Resource
    InputExtBusinessService inputExtBusinessService;
    /**
     * 为什么HelloService会为null？
     *
     * Quartz中的job是由Quartz框架【动态】创建的（通过配置job的className，通过反射进行动态创建），
     *
     * 所以在job中使用spring bean的话，是无法进行使用的。（Job类，不是一个spring bean）。
     *
     * 如何将我们的job交给Spring进行管理？
     *
     * 使用AutoWireCapableBeanFactory进行自动注入job
     */
    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException{
        System.out.println("MyTask.execute() "+new Date());
        inputExtBusinessService.quartzBonusNum();
    }


    @Override
    public String getCronExpression() {
        //每天上午10点到凌晨2点，每隔5分钟执行
        return "0 0/5 10-23 * * ?";
    }

}
